home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 147 / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin / games / sakiba / source / zmusic.h < prev    next >
Text File  |  1993-10-30  |  7KB  |  196 lines

  1. /*
  2.  
  3.     ZMUSIC.X用ライブラリヘッダファイル
  4.  
  5.        ZMLIB.H Version 2.00 (C) Z.Nishikawa
  6.  
  7. */
  8.  
  9. int    m_alloc( int track_no, int buffer_size );
  10. int    m_assign( int channel_no, int track_no );
  11. int    m_vget( int tone_no, char *data_ptr );
  12. int    m_vset( int tone_no, char *data_ptr );
  13. int    m_tempo( int tempo );        /* tempo=-1でリクエスト */
  14. int    m_trk( int track_no, char *MML_ptr );
  15. int    m_free( int track_no );
  16. int    m_play( int track_no1, int track_no2, int track_no3, int track_no4,
  17.         int track_no5, int track_no6, int track_no7, int track_no8,
  18.         int track_no9, int track_no10 );
  19.         /* track_no1=0 で全トラック演奏開始 */
  20.         /* track_no?=0 または 'NASI' 以降を無視する。 */
  21. int    m_stat( int track_bit_pattern );    /* track_bit_pattern=0 で全チャンネル検査 */
  22. int    m_stop( int track_no1, int track_no2, int track_no3, int track_no4,
  23.         int track_no5, int track_no6, int track_no7, int track_no8,
  24.         int track_no9, int track_no10 );
  25.         /* track_no1=0 で全トラック演奏停止 */
  26.         /* track_no?=0 または 'NASI' 以降を無視する。 */
  27. int    m_cont( int track_no1, int track_no2, int track_no3, int track_no4,
  28.         int track_no5, int track_no6, int track_no7, int track_no8,
  29.         int track_no9, int track_no10 );
  30.         /* track_no1=0 で全トラック演奏継続 */
  31.         /* track_no?=0 または 'NASI' 以降を無視する。 */
  32. void    m_init( void );
  33. int    m_atoi( int track_no );
  34. int    m_assign2( char *channel, int track_no );
  35. void    m_ch( char *device );
  36. int    m_pcmset( int note_no, char *filename, int pitch, int vol, int mix_note_no, int delay,
  37.           int cut, int reverse, int fade_in_out );
  38.         /* int pitch以降のパラメータを省略する場合は 'NASI' とすること */
  39. void    m_pcmplay( int note_no, int pan, int freq );
  40. void    m_rec( void );
  41. void    m_rstop( void );
  42. int    m_save( char *filename );
  43. int    m_trans( char *filename );
  44. int    m_fmvset( int tone_no, char *data_ptr );
  45. int    m_out( int  d1, int  d2, int  d3, int  d4, int  d5, int  d6, int  d7, int  d8, 
  46.            int  d9, int d10 );
  47.         /* d?=-1 以降を無視する。 */
  48. int    m_dirout( char *adrs, int size );
  49.         /* sizeの省略不可 */
  50. int    m_exc( char *adrs, int size );
  51.         /* sizeの省略不可 */
  52. int    m_roland( int devID, int modelID, char *adrs, int size );
  53.         /* sizeの省略不可 */
  54. int    m_total( void );
  55. int    m_fadeout( int speed );
  56. int    m_pcmcnf( char *filename );
  57.  
  58. int    sc55_v_reserve( char *adrs, int devID );
  59.                 /* size=16 */
  60. int    sc55_reverb( char *adrs, int devID, int size );
  61.                 /* size=7 */
  62. int    sc55_chorus( char *adrs, int devID, int size );
  63.                 /* size=8 */
  64. int    sc55_part_setup( char part_no, char *adrs, int devID, int size );
  65.                 /* size=119 */
  66. int    sc55_drum_setup( char map_no, char note_no, char *adrs, int devID, int size );
  67.                 /* size=8 */
  68. int    sc55_print( char *message, int devID );
  69.                 /* size=32 */
  70. int    sc55_display( int *pattern, int devID );
  71.  
  72. int    m_adpcm_block( char *filename );
  73.  
  74. int    mt32_p_reserve( char *adrs, int devID );
  75.                 /* size=9 */
  76. int    mt32_reverb( char *adrs, int devID, int size );
  77.                 /* size=3 */
  78. int    mt32_part_setup( char *adrs, int devID, int size );
  79.                 /* size=9 */
  80. int    mt32_drum_setup( char note_no, char *adrs, int devID, int size );
  81.                 /* size=4 */
  82. int    mt32_common( char timbre_no, char *timbre_name, char *adrs, int devID, int size );
  83.                 /* size=4 */
  84. int    mt32_patch( char patch_no, char *adrs, int devID, int size );
  85.                 /* size=7 */
  86. int    mt32_partial( char timbre_no, char partial_no, char *adrs, int devID, int size );
  87.                 /* size=58 */
  88. int    mt32_print( char *message, int devID );
  89.                 /* size=20 */
  90.  
  91. int    m_print( char *message );
  92.                 /* size=96 */
  93.  
  94. int    u220_setup( char *adrs, int devID );
  95.                 /* size=7 */
  96. int    u220_common( char *adrs, int devID );
  97.                 /* size=17 */
  98. int    u220_drum_setup( char *adrs, int devID );
  99.                 /* size=7 */
  100. int    u220_part_setup( char part_no, char *adrs, int devID );
  101.                 /* size=13 */
  102. int    u220_timbre( char timbre_no, char *timbre_name, char *adrs, int devID );
  103.                 /* size=26 */
  104. int    u220_drum_inst( char note_no, char *adrs, int devID, int size );
  105.                 /* size=20 */
  106. int    u220_print( char *message, int devID );
  107.                 /* size=12 */
  108.  
  109. int    m1_midi_ch( char *midi_ch_list );
  110.                 /* size=8 */
  111. int    m1_part_setup( char *track_param );
  112.                 /* size=40 */
  113. int    m1_effect_setup( char *effect_param );
  114.                 /* size=25 */
  115. int    m1_print( char *message );
  116.                 /* size=10 */
  117. int    send_to_m1( int devID );
  118.  
  119. int    zmd_play( char *filename );
  120. void    m_debug( char mode );
  121. int    m_count( char count );
  122. int    fm_master( char volume );
  123. int    m_mute( int ch_no1, int ch_no2, int ch_no3, int ch_no4,
  124.         int ch_no5, int ch_no6, int ch_no7, int ch_no8,
  125.         int ch_no9, int ch_no10 );
  126.         /* ch_no1=0 で全トラック演奏継続 */
  127.         /* ch_no?=0 または 'NASI' 以降を無視する。 */
  128. int    m_solo( int ch_no1, int ch_no2, int ch_no3, int ch_no4,
  129.         int ch_no5, int ch_no6, int ch_no7, int ch_no8,
  130.         int ch_no9, int ch_no10 );
  131.         /* ch_no1=0 で全トラック演奏継続 */
  132.         /* ch_no?=0 または 'NASI' 以降を無視する。 */
  133. int    m_wave_form( char wave_no, char loop_type, int loop_point,
  134.             int *wave_data, int size );
  135. int    m_wave_form2( char wave_no, char loop_type, int loop_point,
  136.             short int *wave_data, int size );
  137.  
  138. int    sc55_init( int devID );
  139. int    mt32_init( int devID );
  140.  
  141. void    adpcm_to_pcm( char *source, int size, short int *destination );
  142.         /* destinationの配列サイズはsourceの4倍必要
  143.            また、sizeはADPCMデータの個数 */
  144. void    pcm_to_adpcm( short int *source, int size, char *destination );
  145.         /* destinationの配列サイズはsourceの1/4倍必要
  146.            また、sizeはPCMデータの個数 */
  147.  
  148. void    exec_zms( char *zms_line );
  149.  
  150. int    m_inp( char inp_mode );    /* inp_mode≠0でループモード */
  151.  
  152. int    zm_ver( void );
  153.  
  154. int    m_trk2( char *MML_ptr,
  155.         int track_no1, int track_no2, int track_no3 ,int track_no4,
  156.         int track_no5, int track_no6, int track_no7 ,int track_no8 );
  157.         /* track_no?=0 または 'NASI' 以降を無視する。 */
  158.  
  159. int    zm_work( char trk_num, int work_offset );
  160.         /* 演奏トラックワークの値をバイト単位で返す */
  161.  
  162. /*
  163.      基本的にX-BASIC用外部関数であるMUSICZ.FNCに
  164.     コンパチに作られていますが、一部の言語仕様の違いから、互換でない
  165.     関数もあります。
  166.      X-BASICでは配列の要素数を関数側で自動認知することが
  167.     できますがC言語ではそれができません。よって、X-BASICでは
  168.     パラメータの個数等を省略できた関数も、C言語では省略できないといった
  169.     仕様変更がなされた関数があります。
  170.  
  171.         m_dirout()
  172.         m_exc()
  173.         m_roland()
  174.  
  175.       また、さらに、X-BASICではパラメータ個数を書かなくても
  176.     よかった関数もC言語では書かせるような仕様に変更されたものもあります。
  177.  
  178.         sc55_reverb()
  179.         sc55_chorus()
  180.         sc55_part_setup()
  181.         sc55_drum_setup()
  182.         mt32_reverb()
  183.         mt32_part_setup()
  184.         mt32_drum_setup()
  185.         mt32_common()
  186.         mt32_patch()
  187.         mt32_partial()
  188.         u220_drum_inst()
  189.  
  190.       MUSICZ.FNCにはなかったコマンドが新設されています。
  191.  
  192.         m_wave_form2()
  193.         波形メモリ登録コマンド#2 (short int専用版/配列データ加工なし)
  194.  
  195. */
  196.